Ruby on rails 如何发送与模型无关的值
我有一个Ruby on rails 如何发送与模型无关的值,ruby-on-rails,twitter,Ruby On Rails,Twitter,我有一个Post模型,它具有标题和内容属性 我希望当用户创建这样的帖子时,可以发tweet <%= form_for @post do |f| %> <%= f.text_field :title %> <%= f.text_area :content %> <%= f.check_box :with_tweet %> # Error <%= f.text_field :tweet %> # Error <% en
Post
模型,它具有标题
和内容
属性
我希望当用户创建这样的帖子时,可以发tweet
<%= form_for @post do |f| %>
<%= f.text_field :title %>
<%= f.text_area :content %>
<%= f.check_box :with_tweet %> # Error
<%= f.text_field :tweet %> # Error
<% end %>
#错误
#错误
此代码失败,因为对于Post
,没有with_tweet
和tweet
属性。
我认为在这种情况下,查询字符串不是个好主意
如何发送与模型无关的信息?将其定义为虚拟属性:
class Post < ActiveRecord::Base
...
attr_accessor :with_tweet, :tweet
...
end
class Post
attr\u accessor
将为带有tweet和tweet
的提供一个getter和setter方法,然后您可以通过@post
对象访问这些方法。将它们定义为虚拟属性:
class Post < ActiveRecord::Base
...
attr_accessor :with_tweet, :tweet
...
end
class Post
attr\u accessor
将为带有tweet
和tweet
的提供一个getter和setter方法,然后您可以通过@post
对象访问该方法。关于Vee的答案,让我解释一下为什么需要它:
Rails模型中的每个属性
都是使用-的结果,这意味着模型的属性是
基本上只是Ruby对象的一部分,当您的类
初始化
您的问题是RubyonRails没有构建任何其他组件
属性,而不是数据库中的属性,这意味着如果需要
跟踪额外数据,您必须使用
类知道如何填充那些不在数据库中的
用于定义这些额外属性
关于Vee的回答,让我解释一下为什么需要它:
Rails模型中的每个属性
都是使用-的结果,这意味着模型的属性是
基本上只是Ruby对象的一部分,当您的类
初始化
您的问题是RubyonRails没有构建任何其他组件
属性,而不是数据库中的属性,这意味着如果需要
跟踪额外数据,您必须使用
类知道如何填充那些不在数据库中的
用于定义这些额外属性