Преобразование проекта от C++ до C#

Используйте fields_for для связанных моделей.
Не должно быть квадратных скобок вокруг параметров fields_for

В вашем примере кода я не могу найти связь между Patient и Diagnosis, и множественное число диагноза ставит диагноз , вы можете указать это в config/initializers/inflections.rb:

ActiveSupport::Inflector.inflections do |inflect|
  inflect.irregular 'diagnosis','diagnoses'
end

Таким образом, ваша модель Patient должна содержать

class Patient < ActiveRecord::Base
  attr_accessible :age, :name, :city, :street, :number
  has_many :diagnoses
end

И вы можете написать в своей форме :

 <div class="field">
   <%= f.label :content %><br />
   <%= f.text_field :content %>
 </div>
 <%= fields_for(@patient, @patient.diagnoses.build) do |u| %>
 <div class="field">
   <%= u.label :content %><br />
   <%= u.text_field :content %>
 </div>
 <% end %>
 <div class="actions">
   <%= f.submit %>
 </div>
6
задан Community 23 May 2017 в 12:02
поделиться

3 ответа

Я обнаружил, что CodeRush (которым я уже владею) имеет операцию «умной вставки», которая выполняет разумную работу по преобразованию того, что может быть предоставлено. Также в googleplex есть надстройка CR_Paste, которая делает нечто подобное. (надстройка CR_Paste может не требовать Coderush, только бесплатное приложение DXCore.

Поскольку у меня будет полный доступ к дереву синтаксического анализа (и понимание деревьев синтаксического анализа), я могу (и не могу) настроить его для изменения char * в String и т. д. Если я сделаю много настроек, я, вероятно, создам версию с открытым исходным кодом, возможно, на CodePlex.

Ralph

2
ответ дан 10 December 2019 в 00:43
поделиться

Я должен сказать, что лучший совет, который я могу вам дать, - это переписать приложение. C ++ и C # настолько разные, что если вы уверены, что хотите преобразовать все, то переписывание, скорее всего, будет вашим лучшим вариантом.

Думаю, мой главный вопрос - , почему вы хотите преобразовать этот проект в C # ? Я понимаю, что это не ваш вопрос, но поскольку вы предпринимаете для этого значительные усилия, я надеюсь, что вы понимаете, во что ввязываетесь.

7
ответ дан 10 December 2019 в 00:43
поделиться

Похоже, вам нужно изменить дизайн приложения, а не просто преобразовать код. Преобразование не-объектно-ориентированного приложения C / C ++ в C # не кажется реалистичной целью.

0
ответ дан 10 December 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: