Ruby on rails 使用操作视图和表单创建url表单字段的问题

Ruby on rails 使用操作视图和表单创建url表单字段的问题,ruby-on-rails,ruby,forms,form-for,actionview,Ruby On Rails,Ruby,Forms,Form For,Actionview,正在尝试创建一个表单字段,用户可以根据以下内容提交url: 我收到一个错误:ActionView::Template::error(未定义的方法“homepage”)# 模型如下: class Idea < ActiveRecord::Base has_many :comments mount_uploader :picture, PictureUploader attr_accessible :description, :name, :picture, :homepage e

正在尝试创建一个表单字段,用户可以根据以下内容提交url:

我收到一个错误:ActionView::Template::error(未定义的方法“homepage”)# 模型如下:

class Idea < ActiveRecord::Base
  has_many :comments
  mount_uploader :picture, PictureUploader
  attr_accessible :description, :name, :picture, :homepage
end

基本上,当您在form_for中向块提供并使用变量时,它已经设置了form字段的关联

即:

相当于

f.url_field('homepage')

,并且在表单生成器中使用url_字段的文档已经过时并且容易出错。最终,我找到了:tenderlove的rails自动链接:再加上spohlenz的tinymce rails:。有了这两个gem,您可以构建一个功能齐全的表单字段并更有效地显示输出。希望这对一些人有所帮助另一个。

好的,但是在show erb模板中如何;调用该url_字段的正确方法是什么,我在文档中找不到它。在#show模板中,它将作为您实例化的
@idea
对象上的一个属性进行访问。例如:如果您的idea实例具有“homepage”属性,那么您只需引用我t通过
@idea.homepage
我已经在show模板中完成了这项工作并更新了问题,表单可以正常工作,但我现在得到了:ActionView::template::Error(未定义的方法“homepage”用于#嗯,鉴于您在模型中声明attr_accessible:homepage,我假设您在数据库中的Ideas表中创建了名为
homepage
的文本/字符串列。您完成了吗?您迁移了该列并重新启动了服务器吗?我已将t.string:homepage添加到活动记录中rd更改方法并尝试rake db:migrate,但它没有显示在架构文件中。我是否需要先回滚以使迁移正常工作;再次感谢您的帮助,我对ruby和rails比较陌生。
<p><b>Name: </b><%= @idea.name %></p>
<p><b>Link:</b><%= @idea.homepage %></p>
def create
    @idea = Idea.new(params[:idea])

    respond_to do |format|
      if @idea.save
        format.html { redirect_to @idea, notice: 'Idea was successfully created.' }
        format.json { render json: @idea, status: :created, location: @idea }
      else
        format.html { render action: "new" }
        format.json { render json: @idea.errors, status: :unprocessable_entity }
      end
    end
  end

def show
    @idea = Idea.find(params[:id])
    @comment = @idea.comments.build

    respond_to do |format|
      format.html # show.html.erb
      format.json { render json: @idea }
    end
  end
url_field('user', 'homepage')
f.url_field('homepage')